/*
 * This file is part of the OWL API.
 *
 * The contents of this file are subject to the LGPL License, Version 3.0.
 *
 * Copyright (C) 2011, The University of Manchester
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/.
 *
 *
 * Alternatively, the contents of this file may be used under the terms of the Apache License, Version 2.0
 * in which case, the provisions of the Apache License Version 2.0 are applicable instead of those above.
 *
 * Copyright 2011, The University of Manchester
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* Generated By:JavaCC: Do not edit this line. KRSSParserTokenManager.java */
package org.coode.owl.krssparser;

import org.semanticweb.owlapi.model.OWLRuntimeException;

import uk.ac.manchester.cs.JavaCharStream;

/** Token Manager. */
@SuppressWarnings({"unused","javadoc"})
public class KRSSParserTokenManager implements KRSSParserConstants
{

    /** Debug output. */
    public  java.io.PrintStream debugStream = System.out;
    /** Set debug output. */
    public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
    private final int jjStopStringLiteralDfa_0(int pos, long active0)
    {
        switch (pos)
        {
            case 0:
                if ((active0 & 0xfffffe0000L) != 0L)
                {
                    jjmatchedKind = 40;
                    return 0;
                }
                return -1;
            case 1:
                if ((active0 & 0x10000000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0xffeffe0000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 1;
                    return 0;
                }
                return -1;
            case 2:
                if ((active0 & 0x600000000L) != 0L)
                {
                    if (jjmatchedPos < 1)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 1;
                    }
                    return -1;
                }
                if ((active0 & 0x68000000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0xf987fe0000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 2;
                    return 0;
                }
                return -1;
            case 3:
                if ((active0 & 0x600000000L) != 0L)
                {
                    if (jjmatchedPos < 1)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 1;
                    }
                    return -1;
                }
                if ((active0 & 0x182000000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0x60000L) != 0L)
                {
                    if (jjmatchedPos < 2)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 2;
                    }
                    return -1;
                }
                if ((active0 & 0xf805f80000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 3;
                    return 0;
                }
                return -1;
            case 4:
                if ((active0 & 0x600000000L) != 0L)
                {
                    if (jjmatchedPos < 1)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 1;
                    }
                    return -1;
                }
                if ((active0 & 0x4004000000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0x60000L) != 0L)
                {
                    if (jjmatchedPos < 2)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 2;
                    }
                    return -1;
                }
                if ((active0 & 0xb801f80000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 4;
                    return 0;
                }
                return -1;
            case 5:
                if ((active0 & 0x600000000L) != 0L)
                {
                    if (jjmatchedPos < 1)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 1;
                    }
                    return -1;
                }
                if ((active0 & 0x60000L) != 0L)
                {
                    if (jjmatchedPos < 2)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 2;
                    }
                    return -1;
                }
                if ((active0 & 0xb801f80000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 5;
                    return 0;
                }
                return -1;
            case 6:
                if ((active0 & 0x600000000L) != 0L)
                {
                    if (jjmatchedPos < 1)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 1;
                    }
                    return -1;
                }
                if ((active0 & 0x2800800000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0x9001080000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 6;
                    return 0;
                }
                if ((active0 & 0x60000L) != 0L)
                {
                    if (jjmatchedPos < 2)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 2;
                    }
                    return -1;
                }
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 7:
                if ((active0 & 0x9000000000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0x200000000L) != 0L)
                {
                    if (jjmatchedPos < 1)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 1;
                    }
                    return -1;
                }
                if ((active0 & 0x60000L) != 0L)
                {
                    if (jjmatchedPos < 2)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 2;
                    }
                    return -1;
                }
                if ((active0 & 0x1080000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 7;
                    return 0;
                }
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 8:
                if ((active0 & 0x1080000L) != 0L)
                {
                    jjmatchedKind = 40;
                    jjmatchedPos = 8;
                    return 0;
                }
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 9:
                if ((active0 & 0x1000000L) != 0L) {
                    return 0;
                }
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 10:
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 11:
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 12:
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 13:
                if ((active0 & 0x700000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 14:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 15:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 16:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                if ((active0 & 0x80000L) != 0L)
                {
                    if (jjmatchedPos < 8)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 8;
                    }
                    return -1;
                }
                return -1;
            case 17:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 18:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 19:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 20:
                if ((active0 & 0x500000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 21:
                if ((active0 & 0x100000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            case 22:
                if ((active0 & 0x100000L) != 0L)
                {
                    if (jjmatchedPos < 5)
                    {
                        jjmatchedKind = 40;
                        jjmatchedPos = 5;
                    }
                    return -1;
                }
                return -1;
            default :
                return -1;
        }
    }
    private final int jjStartNfa_0(int pos, long active0)
    {
        return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
    }
    private int jjStopAtPos(int pos, int kind)
    {
        jjmatchedKind = kind;
        jjmatchedPos = pos;
        return pos + 1;
    }
    private int jjMoveStringLiteralDfa0_0()
    {
        switch(curChar)
        {
            case 34:
                return jjStopAtPos(0, 11);
            case 40:
                return jjStopAtPos(0, 15);
            case 41:
                return jjStopAtPos(0, 16);
            case 58:
                return jjMoveStringLiteralDfa1_0(0x40000000000L);
            case 59:
                return jjStopAtPos(0, 5);
            case 60:
                return jjStopAtPos(0, 8);
            case 97:
                return jjMoveStringLiteralDfa1_0(0x648000000L);
            case 100:
                return jjMoveStringLiteralDfa1_0(0x8000700000L);
            case 101:
                return jjMoveStringLiteralDfa1_0(0x4802060000L);
            case 105:
                return jjMoveStringLiteralDfa1_0(0x1000000000L);
            case 110:
                return jjMoveStringLiteralDfa1_0(0x120000000L);
            case 111:
                return jjMoveStringLiteralDfa1_0(0x10000000L);
            case 112:
                return jjMoveStringLiteralDfa1_0(0x80000L);
            case 114:
                return jjMoveStringLiteralDfa1_0(0x2004000000L);
            case 115:
                return jjMoveStringLiteralDfa1_0(0x80800000L);
            case 116:
                return jjMoveStringLiteralDfa1_0(0x1000000L);
            default :
                return jjMoveNfa_0(2, 0);
        }
    }
    private int jjMoveStringLiteralDfa1_0(long active0)
    {
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(0, active0);
            return 1;
        }
        switch(curChar)
        {
            case 97:
                return jjMoveStringLiteralDfa2_0(active0, 0x4000000L);
            case 101:
                return jjMoveStringLiteralDfa2_0(active0, 0x2000700000L);
            case 105:
                return jjMoveStringLiteralDfa2_0(active0, 0x8000000000L);
            case 108:
                return jjMoveStringLiteralDfa2_0(active0, 0x40000000L);
            case 110:
                return jjMoveStringLiteralDfa2_0(active0, 0x100a060000L);
            case 111:
                return jjMoveStringLiteralDfa2_0(active0, 0x1a0000000L);
            case 113:
                return jjMoveStringLiteralDfa2_0(active0, 0x4000000000L);
            case 114:
                if ((active0 & 0x10000000L) != 0L) {
                    return jjStartNfaWithStates_0(1, 28, 0);
                }
                return jjMoveStringLiteralDfa2_0(active0, 0x40001080000L);
            case 116:
                return jjMoveStringLiteralDfa2_0(active0, 0x600000000L);
            case 117:
                return jjMoveStringLiteralDfa2_0(active0, 0x800000L);
            case 120:
                return jjMoveStringLiteralDfa2_0(active0, 0x800000000L);
            default :
                break;
        }
        return jjStartNfa_0(0, active0);
    }
    private int jjMoveStringLiteralDfa2_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(0, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(1, active0);
            return 2;
        }
        switch(curChar)
        {
            case 45:
                return jjMoveStringLiteralDfa3_0(active0, 0x600000000L);
            case 97:
                return jjMoveStringLiteralDfa3_0(active0, 0x801000000L);
            case 98:
                return jjMoveStringLiteralDfa3_0(active0, 0x800000L);
            case 100:
                if ((active0 & 0x8000000L) != 0L) {
                    return jjStartNfaWithStates_0(2, 27, 0);
                }
                return jjMoveStringLiteralDfa3_0(active0, 0x60000L);
            case 102:
                return jjMoveStringLiteralDfa3_0(active0, 0x700000L);
            case 105:
                return jjMoveStringLiteralDfa3_0(active0, 0x40000080000L);
            case 108:
                if ((active0 & 0x40000000L) != 0L) {
                    return jjStartNfaWithStates_0(2, 30, 0);
                }
                return jjMoveStringLiteralDfa3_0(active0, 0x2000000000L);
            case 109:
                return jjMoveStringLiteralDfa3_0(active0, 0x80000000L);
            case 110:
                return jjMoveStringLiteralDfa3_0(active0, 0x104000000L);
            case 115:
                return jjMoveStringLiteralDfa3_0(active0, 0x9000000000L);
            case 116:
                if ((active0 & 0x20000000L) != 0L) {
                    return jjStartNfaWithStates_0(2, 29, 0);
                }
                break;
            case 117:
                return jjMoveStringLiteralDfa3_0(active0, 0x4002000000L);
            default :
                break;
        }
        return jjStartNfa_0(1, active0);
    }
    private int jjMoveStringLiteralDfa3_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(1, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(2, active0);
            return 3;
        }
        switch(curChar)
        {
            case 45:
                return jjMoveStringLiteralDfa4_0(active0, 0x60000L);
            case 97:
                return jjMoveStringLiteralDfa4_0(active0, 0x6000000000L);
            case 99:
                return jjMoveStringLiteralDfa4_0(active0, 0x800000000L);
            case 101:
                if ((active0 & 0x80000000L) != 0L) {
                    return jjStartNfaWithStates_0(3, 31, 0);
                } else if ((active0 & 0x100000000L) != 0L) {
                    return jjStartNfaWithStates_0(3, 32, 0);
                }
                break;
            case 103:
                return jjMoveStringLiteralDfa4_0(active0, 0x40004000000L);
            case 105:
                return jjMoveStringLiteralDfa4_0(active0, 0x700000L);
            case 108:
                return jjMoveStringLiteralDfa4_0(active0, 0x200000000L);
            case 109:
                if ((active0 & 0x2000000L) != 0L) {
                    return jjStartNfaWithStates_0(3, 25, 0);
                }
                return jjMoveStringLiteralDfa4_0(active0, 0x400080000L);
            case 110:
                return jjMoveStringLiteralDfa4_0(active0, 0x1000000L);
            case 114:
                return jjMoveStringLiteralDfa4_0(active0, 0x800000L);
            case 116:
                return jjMoveStringLiteralDfa4_0(active0, 0x9000000000L);
            default :
                break;
        }
        return jjStartNfa_0(2, active0);
    }
    private int jjMoveStringLiteralDfa4_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(2, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(3, active0);
            return 4;
        }
        switch(curChar)
        {
            case 97:
                return jjMoveStringLiteralDfa5_0(active0, 0x1000040000L);
            case 101:
                if ((active0 & 0x4000000L) != 0L) {
                    return jjStartNfaWithStates_0(4, 26, 0);
                }
                return jjMoveStringLiteralDfa5_0(active0, 0x200000000L);
            case 104:
                return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L);
            case 105:
                return jjMoveStringLiteralDfa5_0(active0, 0x8000080000L);
            case 108:
                if ((active0 & 0x4000000000L) != 0L) {
                    return jjStartNfaWithStates_0(4, 38, 0);
                }
                break;
            case 110:
                return jjMoveStringLiteralDfa5_0(active0, 0x700000L);
            case 111:
                return jjMoveStringLiteralDfa5_0(active0, 0x400800000L);
            case 115:
                return jjMoveStringLiteralDfa5_0(active0, 0x1000000L);
            case 116:
                return jjMoveStringLiteralDfa5_0(active0, 0x2800020000L);
            default :
                break;
        }
        return jjStartNfa_0(3, active0);
    }
    private int jjMoveStringLiteralDfa5_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(3, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(4, active0);
            return 5;
        }
        switch(curChar)
        {
            case 97:
                return jjMoveStringLiteralDfa6_0(active0, 0x200000000L);
            case 98:
                return jjMoveStringLiteralDfa6_0(active0, 0x60000L);
            case 101:
                return jjMoveStringLiteralDfa6_0(active0, 0x2000700000L);
            case 105:
                return jjMoveStringLiteralDfa6_0(active0, 0x1000000L);
            case 108:
                return jjMoveStringLiteralDfa6_0(active0, 0x800800000L);
            case 110:
                return jjMoveStringLiteralDfa6_0(active0, 0x9000000000L);
            case 115:
                return jjMoveStringLiteralDfa6_0(active0, 0x400000000L);
            case 116:
                return jjMoveStringLiteralDfa6_0(active0, 0x40000080000L);
            default :
                break;
        }
        return jjStartNfa_0(4, active0);
    }
    private int jjMoveStringLiteralDfa6_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(4, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(5, active0);
            return 6;
        }
        switch(curChar)
        {
            case 45:
                return jjMoveStringLiteralDfa7_0(active0, 0x40000700000L);
            case 99:
                return jjMoveStringLiteralDfa7_0(active0, 0x9000000000L);
            case 100:
                if ((active0 & 0x2000000000L) != 0L) {
                    return jjStartNfaWithStates_0(6, 37, 0);
                }
                break;
            case 101:
                if ((active0 & 0x800000L) != 0L) {
                    return jjStartNfaWithStates_0(6, 23, 0);
                }
                break;
            case 105:
                return jjMoveStringLiteralDfa7_0(active0, 0x80000L);
            case 111:
                return jjMoveStringLiteralDfa7_0(active0, 0x60000L);
            case 115:
                return jjMoveStringLiteralDfa7_0(active0, 0x200000000L);
            case 116:
                if ((active0 & 0x400000000L) != 0L) {
                    return jjStopAtPos(6, 34);
                }
                return jjMoveStringLiteralDfa7_0(active0, 0x1000000L);
            case 121:
                if ((active0 & 0x800000000L) != 0L) {
                    return jjStartNfaWithStates_0(6, 35, 0);
                }
                break;
            default :
                break;
        }
        return jjStartNfa_0(5, active0);
    }
    private int jjMoveStringLiteralDfa7_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(5, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(6, active0);
            return 7;
        }
        switch(curChar)
        {
            case 99:
                return jjMoveStringLiteralDfa8_0(active0, 0x200000L);
            case 101:
                if ((active0 & 0x1000000000L) != 0L) {
                    return jjStartNfaWithStates_0(7, 36, 0);
                }
                break;
            case 105:
                return jjMoveStringLiteralDfa8_0(active0, 0x40001000000L);
            case 112:
                return jjMoveStringLiteralDfa8_0(active0, 0x500000L);
            case 116:
                if ((active0 & 0x200000000L) != 0L) {
                    return jjStopAtPos(7, 33);
                } else if ((active0 & 0x8000000000L) != 0L) {
                    return jjStartNfaWithStates_0(7, 39, 0);
                }
                break;
            case 118:
                return jjMoveStringLiteralDfa8_0(active0, 0x80000L);
            case 120:
                if ((active0 & 0x20000L) != 0L) {
                    return jjStopAtPos(7, 17);
                } else if ((active0 & 0x40000L) != 0L) {
                    return jjStopAtPos(7, 18);
                }
                break;
            default :
                break;
        }
        return jjStartNfa_0(6, active0);
    }
    private int jjMoveStringLiteralDfa8_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(6, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(7, active0);
            return 8;
        }
        switch(curChar)
        {
            case 100:
                return jjMoveStringLiteralDfa9_0(active0, 0x40000000000L);
            case 101:
                return jjMoveStringLiteralDfa9_0(active0, 0x80000L);
            case 111:
                return jjMoveStringLiteralDfa9_0(active0, 0x200000L);
            case 114:
                return jjMoveStringLiteralDfa9_0(active0, 0x500000L);
            case 118:
                return jjMoveStringLiteralDfa9_0(active0, 0x1000000L);
            default :
                break;
        }
        return jjStartNfa_0(7, active0);
    }
    private int jjMoveStringLiteralDfa9_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(7, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(8, active0);
            return 9;
        }
        switch(curChar)
        {
            case 45:
                return jjMoveStringLiteralDfa10_0(active0, 0x80000L);
            case 101:
                if ((active0 & 0x1000000L) != 0L) {
                    return jjStartNfaWithStates_0(9, 24, 0);
                }
                return jjMoveStringLiteralDfa10_0(active0, 0x40000000000L);
            case 105:
                return jjMoveStringLiteralDfa10_0(active0, 0x500000L);
            case 110:
                return jjMoveStringLiteralDfa10_0(active0, 0x200000L);
            default :
                break;
        }
        return jjStartNfa_0(8, active0);
    }
    private int jjMoveStringLiteralDfa10_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(8, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(9, active0);
            return 10;
        }
        switch(curChar)
        {
            case 99:
                return jjMoveStringLiteralDfa11_0(active0, 0x280000L);
            case 109:
                return jjMoveStringLiteralDfa11_0(active0, 0x500000L);
            case 110:
                return jjMoveStringLiteralDfa11_0(active0, 0x40000000000L);
            default :
                break;
        }
        return jjStartNfa_0(9, active0);
    }
    private int jjMoveStringLiteralDfa11_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(9, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(10, active0);
            return 11;
        }
        switch(curChar)
        {
            case 101:
                return jjMoveStringLiteralDfa12_0(active0, 0x200000L);
            case 105:
                return jjMoveStringLiteralDfa12_0(active0, 0x500000L);
            case 111:
                return jjMoveStringLiteralDfa12_0(active0, 0x80000L);
            case 116:
                return jjMoveStringLiteralDfa12_0(active0, 0x40000000000L);
            default :
                break;
        }
        return jjStartNfa_0(10, active0);
    }
    private int jjMoveStringLiteralDfa12_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(10, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(11, active0);
            return 12;
        }
        switch(curChar)
        {
            case 105:
                return jjMoveStringLiteralDfa13_0(active0, 0x40000000000L);
            case 110:
                return jjMoveStringLiteralDfa13_0(active0, 0x80000L);
            case 112:
                return jjMoveStringLiteralDfa13_0(active0, 0x200000L);
            case 116:
                return jjMoveStringLiteralDfa13_0(active0, 0x500000L);
            default :
                break;
        }
        return jjStartNfa_0(11, active0);
    }
    private int jjMoveStringLiteralDfa13_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(11, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(12, active0);
            return 13;
        }
        switch(curChar)
        {
            case 99:
                return jjMoveStringLiteralDfa14_0(active0, 0x80000L);
            case 105:
                return jjMoveStringLiteralDfa14_0(active0, 0x500000L);
            case 116:
                if ((active0 & 0x200000L) != 0L) {
                    return jjStopAtPos(13, 21);
                }
                return jjMoveStringLiteralDfa14_0(active0, 0x40000000000L);
            default :
                break;
        }
        return jjStartNfa_0(12, active0);
    }
    private int jjMoveStringLiteralDfa14_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(12, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(13, active0);
            return 14;
        }
        switch(curChar)
        {
            case 101:
                return jjMoveStringLiteralDfa15_0(active0, 0x80000L);
            case 118:
                return jjMoveStringLiteralDfa15_0(active0, 0x500000L);
            case 121:
                if ((active0 & 0x40000000000L) != 0L) {
                    return jjStopAtPos(14, 42);
                }
                break;
            default :
                break;
        }
        return jjStartNfa_0(13, active0);
    }
    private int jjMoveStringLiteralDfa15_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(13, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(14, active0);
            return 15;
        }
        switch(curChar)
        {
            case 101:
                return jjMoveStringLiteralDfa16_0(active0, 0x500000L);
            case 112:
                return jjMoveStringLiteralDfa16_0(active0, 0x80000L);
            default :
                break;
        }
        return jjStartNfa_0(14, active0);
    }
    private int jjMoveStringLiteralDfa16_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(14, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(15, active0);
            return 16;
        }
        switch(curChar)
        {
            case 45:
                return jjMoveStringLiteralDfa17_0(active0, 0x500000L);
            case 116:
                if ((active0 & 0x80000L) != 0L) {
                    return jjStopAtPos(16, 19);
                }
                break;
            default :
                break;
        }
        return jjStartNfa_0(15, active0);
    }
    private int jjMoveStringLiteralDfa17_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(15, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(16, active0);
            return 17;
        }
        switch(curChar)
        {
            case 99:
                return jjMoveStringLiteralDfa18_0(active0, 0x100000L);
            case 114:
                return jjMoveStringLiteralDfa18_0(active0, 0x400000L);
            default :
                break;
        }
        return jjStartNfa_0(16, active0);
    }
    private int jjMoveStringLiteralDfa18_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(16, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(17, active0);
            return 18;
        }
        switch(curChar)
        {
            case 111:
                return jjMoveStringLiteralDfa19_0(active0, 0x500000L);
            default :
                break;
        }
        return jjStartNfa_0(17, active0);
    }
    private int jjMoveStringLiteralDfa19_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(17, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(18, active0);
            return 19;
        }
        switch(curChar)
        {
            case 108:
                return jjMoveStringLiteralDfa20_0(active0, 0x400000L);
            case 110:
                return jjMoveStringLiteralDfa20_0(active0, 0x100000L);
            default :
                break;
        }
        return jjStartNfa_0(18, active0);
    }
    private int jjMoveStringLiteralDfa20_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(18, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(19, active0);
            return 20;
        }
        switch(curChar)
        {
            case 99:
                return jjMoveStringLiteralDfa21_0(active0, 0x100000L);
            case 101:
                if ((active0 & 0x400000L) != 0L) {
                    return jjStopAtPos(20, 22);
                }
                break;
            default :
                break;
        }
        return jjStartNfa_0(19, active0);
    }
    private int jjMoveStringLiteralDfa21_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(19, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(20, active0);
            return 21;
        }
        switch(curChar)
        {
            case 101:
                return jjMoveStringLiteralDfa22_0(active0, 0x100000L);
            default :
                break;
        }
        return jjStartNfa_0(20, active0);
    }
    private int jjMoveStringLiteralDfa22_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(20, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(21, active0);
            return 22;
        }
        switch(curChar)
        {
            case 112:
                return jjMoveStringLiteralDfa23_0(active0, 0x100000L);
            default :
                break;
        }
        return jjStartNfa_0(21, active0);
    }
    private int jjMoveStringLiteralDfa23_0(long old0, long active0)
    {
        if ((active0 &= old0) == 0L) {
            return jjStartNfa_0(21, old0);
        }
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            jjStopStringLiteralDfa_0(22, active0);
            return 23;
        }
        switch(curChar)
        {
            case 116:
                if ((active0 & 0x100000L) != 0L) {
                    return jjStopAtPos(23, 20);
                }
                break;
            default :
                break;
        }
        return jjStartNfa_0(22, active0);
    }
    private int jjStartNfaWithStates_0(int pos, int kind, int state)
    {
        jjmatchedKind = kind;
        jjmatchedPos = pos;
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) { return pos + 1; }
        return jjMoveNfa_0(state, pos + 1);
    }
    private int jjMoveNfa_0(int startState, int curPos)
    {
        int startsAt = 0;
        jjnewStateCnt = 2;
        int i = 1;
        jjstateSet[0] = startState;
        int kind = 0x7fffffff;
        for (;;)
        {
            if (++jjround == 0x7fffffff) {
                ReInitRounds();
            }
            if (curChar < 64)
            {
                long l = 1L << curChar;
                do
                {
                    switch(jjstateSet[--i])
                    {
                        case 2:
                            if ((0x3ff000000000000L & l) != 0L)
                            {
                                if (kind > 41) {
                                    kind = 41;
                                }
                                jjCheckNAdd(1);
                            }
                            if ((0x3ff000000000000L & l) != 0L)
                            {
                                if (kind > 40) {
                                    kind = 40;
                                }
                                jjCheckNAdd(0);
                            }
                            break;
                        case 0:
                            if ((0x3ff000000000000L & l) == 0L) {
                                break;
                            }
                            if (kind > 40) {
                                kind = 40;
                            }
                            jjCheckNAdd(0);
                            break;
                        case 1:
                            if ((0x3ff000000000000L & l) == 0L) {
                                break;
                            }
                            if (kind > 41) {
                                kind = 41;
                            }
                            jjCheckNAdd(1);
                            break;
                        default : break;
                    }
                } while(i != startsAt);
            }
            else if (curChar < 128)
            {
                long l = 1L << (curChar & 077);
                do
                {
                    switch(jjstateSet[--i])
                    {
                        case 2:
                        case 0:
                            if ((0x7fffffe07fffffeL & l) == 0L) {
                                break;
                            }
                            kind = 40;
                            jjCheckNAdd(0);
                            break;
                        default : break;
                    }
                } while(i != startsAt);
            }
            else
            {
                int hiByte = curChar >> 8;
                int i1 = hiByte >> 6;
            long l1 = 1L << (hiByte & 077);
            int i2 = (curChar & 0xff) >> 6;
            long l2 = 1L << (curChar & 077);
            do
            {
                switch(jjstateSet[--i])
                {
                    default : break;
                }
            } while(i != startsAt);
            }
            if (kind != 0x7fffffff)
            {
                jjmatchedKind = kind;
                jjmatchedPos = curPos;
                kind = 0x7fffffff;
            }
            ++curPos;
            if ((i = jjnewStateCnt) == (startsAt = 2 - (jjnewStateCnt = startsAt))) {
                return curPos;
            }
            try { curChar = input_stream.readChar(); }
            catch(java.io.IOException e) { return curPos; }
        }
    }
    private int jjMoveStringLiteralDfa0_3()
    {
        switch(curChar)
        {
            case 34:
                return jjStopAtPos(0, 13);
            case 92:
                return jjMoveStringLiteralDfa1_3(0x1000L);
            default :
                return 1;
        }
    }
    private int jjMoveStringLiteralDfa1_3(long active0)
    {
        try { curChar = input_stream.readChar(); }
        catch(java.io.IOException e) {
            return 1;
        }
        switch(curChar)
        {
            case 34:
                if ((active0 & 0x1000L) != 0L) {
                    return jjStopAtPos(1, 12);
                }
                break;
            default :
                return 2;
        }
        return 2;
    }
    private int jjMoveStringLiteralDfa0_2()
    {
        switch(curChar)
        {
            case 62:
                return jjStopAtPos(0, 9);
            default :
                return 1;
        }
    }
    private int jjMoveStringLiteralDfa0_1()
    {
        switch(curChar)
        {
            case 10:
                return jjStopAtPos(0, 6);
            default :
                return 1;
        }
    }
    static final int[] jjnextStates = {
    };

    /** Token literal values. */
    public static final String[] jjstrLiteralImages = {
        "", null, null, null, null, null, null, null, null, null, null, null, null,
        null, null, "\50", "\51", "\145\156\144\55\164\142\157\170",
        "\145\156\144\55\141\142\157\170", "\160\162\151\155\151\164\151\166\145\55\143\157\156\143\145\160\164",
        "\144\145\146\151\156\145\55\160\162\151\155\151\164\151\166\145\55\143\157\156\143\145\160\164", "\144\145\146\151\156\145\55\143\157\156\143\145\160\164",
        "\144\145\146\151\156\145\55\160\162\151\155\151\164\151\166\145\55\162\157\154\145", "\163\165\142\162\157\154\145", "\164\162\141\156\163\151\164\151\166\145",
        "\145\156\165\155", "\162\141\156\147\145", "\141\156\144", "\157\162", "\156\157\164",
        "\141\154\154", "\163\157\155\145", "\156\157\156\145", "\141\164\55\154\145\141\163\164",
        "\141\164\55\155\157\163\164", "\145\170\141\143\164\154\171", "\151\156\163\164\141\156\143\145",
        "\162\145\154\141\164\145\144", "\145\161\165\141\154", "\144\151\163\164\151\156\143\164", null, null,
        "\72\162\151\147\150\164\55\151\144\145\156\164\151\164\171", };

    /** Lexer state names. */
    public static final String[] lexStateNames = {
        "DEFAULT",
        "IN_COMMENT",
        "IN_IRI",
        "IN_STRING_LITERAL",
    };

    /** Lex State array. */
    public static final int[] jjnewLexState = {
        -1, -1, -1, -1, -1, 1, 0, -1, 2, 0, -1, 3, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    };
    static final long[] jjtoToken = {
        0x7ffffffa201L,
    };
    static final long[] jjtoSkip = {
        0x5eL,
    };
    static final long[] jjtoMore = {
        0x5da0L,
    };
    protected JavaCharStream input_stream;
    private final int[] jjrounds = new int[2];
    private final int[] jjstateSet = new int[4];
    protected char curChar;
    /** Constructor. */
    public KRSSParserTokenManager(JavaCharStream stream){
        if (JavaCharStream.staticFlag) {
            throw new OWLRuntimeException(
                    "ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
        }
        input_stream = stream;
    }

    /** Constructor. */
    public KRSSParserTokenManager(JavaCharStream stream, int lexState){
        this(stream);
        SwitchTo(lexState);
    }

    /** Reinitialise parser. */
    public void ReInit(JavaCharStream stream)
    {
        jjmatchedPos = jjnewStateCnt = 0;
        curLexState = defaultLexState;
        input_stream = stream;
        ReInitRounds();
    }
    private void ReInitRounds()
    {
        int i;
        jjround = 0x80000001;
        for (i = 2; i-- > 0;) {
            jjrounds[i] = 0x80000000;
        }
    }

    /** Reinitialise parser. */
    public void ReInit(JavaCharStream stream, int lexState)
    {
        ReInit(stream);
        SwitchTo(lexState);
    }

    /** Switch to specified lex state. */
    public void SwitchTo(int lexState)
    {
        if (lexState >= 4 || lexState < 0) {
            throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
        } else {
            curLexState = lexState;
        }
    }

    protected Token jjFillToken()
    {
        final Token t;
        final String curTokenImage;
        final int beginLine;
        final int endLine;
        final int beginColumn;
        final int endColumn;
        String im = jjstrLiteralImages[jjmatchedKind];
        curTokenImage = im == null ? input_stream.GetImage() : im;
        beginLine = input_stream.getBeginLine();
        beginColumn = input_stream.getBeginColumn();
        endLine = input_stream.getEndLine();
        endColumn = input_stream.getEndColumn();
        t = Token.newToken(jjmatchedKind, curTokenImage);

        t.beginLine = beginLine;
        t.endLine = endLine;
        t.beginColumn = beginColumn;
        t.endColumn = endColumn;

        return t;
    }

    int curLexState = 0;
    int defaultLexState = 0;
    int jjnewStateCnt;
    int jjround;
    int jjmatchedPos;
    int jjmatchedKind;

    /** Get the next Token. */
    public Token getNextToken()
    {
        Token matchedToken;
        int curPos = 0;

        EOFLoop :
            for (;;)
            {
                try
                {
                    curChar = input_stream.BeginToken();
                }
                catch(java.io.IOException e)
                {
                    jjmatchedKind = 0;
                    matchedToken = jjFillToken();
                    return matchedToken;
                }

                for (;;)
                {
                    switch(curLexState)
                    {
                        case 0:
                            try { input_stream.backup(0);
                            while (curChar <= 32 && (0x100002600L & 1L << curChar) != 0L) {
                                curChar = input_stream.BeginToken();
                            }
                            }
                            catch (java.io.IOException e1) { continue EOFLoop; }
                            jjmatchedKind = 0x7fffffff;
                            jjmatchedPos = 0;
                            curPos = jjMoveStringLiteralDfa0_0();
                            break;
                        case 1:
                            jjmatchedKind = 0x7fffffff;
                            jjmatchedPos = 0;
                            curPos = jjMoveStringLiteralDfa0_1();
                            if (jjmatchedPos == 0 && jjmatchedKind > 7)
                            {
                                jjmatchedKind = 7;
                            }
                            break;
                        case 2:
                            jjmatchedKind = 0x7fffffff;
                            jjmatchedPos = 0;
                            curPos = jjMoveStringLiteralDfa0_2();
                            if (jjmatchedPos == 0 && jjmatchedKind > 10)
                            {
                                jjmatchedKind = 10;
                            }
                            break;
                        case 3:
                            jjmatchedKind = 0x7fffffff;
                            jjmatchedPos = 0;
                            curPos = jjMoveStringLiteralDfa0_3();
                            if (jjmatchedPos == 0 && jjmatchedKind > 14)
                            {
                                jjmatchedKind = 14;
                            }
                            break;
                    default:
                        break;
                    }
                    if (jjmatchedKind != 0x7fffffff)
                    {
                        if (jjmatchedPos + 1 < curPos) {
                            input_stream.backup(curPos - jjmatchedPos - 1);
                        }
                        if ((jjtoToken[jjmatchedKind >> 6] & 1L << (jjmatchedKind & 077)) != 0L)
                        {
                            matchedToken = jjFillToken();
                            if (jjnewLexState[jjmatchedKind] != -1) {
                                curLexState = jjnewLexState[jjmatchedKind];
                            }
                            return matchedToken;
                        }
                        else if ((jjtoSkip[jjmatchedKind >> 6] & 1L << (jjmatchedKind & 077)) != 0L)
                        {
                            if (jjnewLexState[jjmatchedKind] != -1) {
                                curLexState = jjnewLexState[jjmatchedKind];
                            }
                            continue EOFLoop;
                        }
                        if (jjnewLexState[jjmatchedKind] != -1) {
                            curLexState = jjnewLexState[jjmatchedKind];
                        }
                        curPos = 0;
                        jjmatchedKind = 0x7fffffff;
                        try {
                            curChar = input_stream.readChar();
                            continue;
                        }
                        catch (java.io.IOException e1) { }
                    }
                    int error_line = input_stream.getEndLine();
                    int error_column = input_stream.getEndColumn();
                    String error_after = null;
                    boolean EOFSeen = false;
                    try { input_stream.readChar(); input_stream.backup(1); }
                    catch (java.io.IOException e1) {
                        EOFSeen = true;
                        error_after = curPos <= 1 ? "" : input_stream.GetImage();
                        if (curChar == '\n' || curChar == '\r') {
                            error_line++;
                            error_column = 0;
                        } else {
                            error_column++;
                        }
                    }
                    if (!EOFSeen) {
                        input_stream.backup(1);
                        error_after = curPos <= 1 ? "" : input_stream.GetImage();
                    }
                    throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
                }
            }
    }

    private void jjCheckNAdd(int state)
    {
        if (jjrounds[state] != jjround)
        {
            jjstateSet[jjnewStateCnt++] = state;
            jjrounds[state] = jjround;
        }
    }
    private void jjAddStates(int start, int end)
    {
        do {
            jjstateSet[jjnewStateCnt++] = jjnextStates[start];
        } while (start++ != end);
    }
    private void jjCheckNAddTwoStates(int state1, int state2)
    {
        jjCheckNAdd(state1);
        jjCheckNAdd(state2);
    }

}
